package com.ruoyi.system.service;

import java.util.List;
import java.util.Set;

import com.ruoyi.common.core.domain.AjaxResult;

/**
 * 视频采集Service接口
 * 
 * @author wsx
 * @date 2025-07-30
 */
public interface IVideoSaveService {
    /**
     * 视频采集启动
     * 
     * @param streamIds 视频流ID列表
     * @return 结果
     */
    public AjaxResult startSave(String streamIds,Integer receivedTaskId,String receivedTaskName);

    /**
     * 视频采集停止
     * 
     * @param dataId 数据ID
     * @return 结果
     */
    public AjaxResult stopSave(Long dataId);

    /**
     * 获取所有正在最终化的任务
     * 
     * @return 任务ID列表
     */
    public Set<String> getFinalizationTaskIds();

    /**
     * 获取任务最终化状态
     * 
     * @param threadID 任务ID
     * @return 任务最终化状态
     */
    public AjaxResult getFinalizationStatus(String threadID);

    /**
     * 获取所有任务最终化状态
     * 
     * @param threadIDs 任务ID列表
     * 
     * @return 任务最终化状态列表
     */
    public AjaxResult getBatchFinalizationStatus(List<String> threadIDs);

}
